package com.ruoyi.manage.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.poi.hpsf.Decimal;

/**
 * 员工加班记录对象 att_overtime
 * 
 * @author cf
 * @date 2025-06-04
 */
public class AttOvertime extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 工资倍数（如按照小时计算） */
    @Excel(name = "工资倍数", readConverterExp = "如=按照小时计算")
    private BigDecimal salaryMultiple;

    /** 加班奖金 */
    @Excel(name = "加班奖金")
    private BigDecimal bonus;

    /** 加班类型（参考 OvertimeEnum 枚举） */
    @Excel(name = "加班类型", readConverterExp = "参=考,OvertimeEnum,枚=举")
    private Integer overtimeType;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 计数类型：0按小时，1按天 */
    @Excel(name = "计数类型：0按小时，1按天")
    private Integer countType;

    /** 工时 */
    @Excel(name = "工时")
    private BigDecimal workHours;



    /** 是否调休：0不调休，1调休 */
    @Excel(name = "是否调休：0不调休，1调休")
    private Integer isTimeOff;

    /** 逻辑删除：0未删除，1已删除 */
    private Integer isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSalaryMultiple(BigDecimal salaryMultiple) 
    {
        this.salaryMultiple = salaryMultiple;
    }

    public BigDecimal getSalaryMultiple() 
    {
        return salaryMultiple;
    }
    public void setBonus(BigDecimal bonus) 
    {
        this.bonus = bonus;
    }

    public BigDecimal getBonus() 
    {
        return bonus;
    }
    public void setOvertimeType(Integer overtimeType) 
    {
        this.overtimeType = overtimeType;
    }

    public Integer getOvertimeType() 
    {
        return overtimeType;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setCountType(Integer countType) 
    {
        this.countType = countType;
    }

    public Integer getCountType() 
    {
        return countType;
    }
    public void setIsTimeOff(Integer isTimeOff) 
    {
        this.isTimeOff = isTimeOff;
    }

    public BigDecimal getWorkHours() {
        return workHours;
    }

    public void setWorkHours(BigDecimal work_hours) {
        this.workHours = work_hours;
    }

    public Integer getIsTimeOff() 
    {
        return isTimeOff;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("salaryMultiple", getSalaryMultiple())
            .append("bonus", getBonus())
            .append("overtimeType", getOvertimeType())
            .append("deptId", getDeptId())
            .append("countType", getCountType())
            .append("work_hours", getWorkHours())
            .append("remark", getRemark())
            .append("isTimeOff", getIsTimeOff())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
